package com.yz.bi.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yz.model.dto.chart.ChartAddRequest;
import com.yz.model.dto.chart.ChartQueryRequest;
import com.yz.model.dto.chart.ChartUpdateRequest;
import com.yz.model.dto.chart.GenChartByAiRequest;
import com.yz.model.vo.bi.ChartVo;
import com.yz.model.entity.bi.Chart;
import org.springframework.web.multipart.MultipartFile;

/**
 * Created With IntelliJ IDEA.
 * Descriptions:
 * <p>
 * User:Mr.Du
 * Date:2024/4/10
 * Time:19:36
 */
public interface BiService extends IService<Chart> {


    Long addChart(Long uid, ChartAddRequest chartAddRequest);

    ChartVo genChartByAi(Long uid, MultipartFile multipartFile, GenChartByAiRequest genChartByAiRequest);

    ChartVo genChartByAiAsync(Long uid, MultipartFile multipartFile, GenChartByAiRequest genChartByAiRequest);

    ChartVo genChartByAiAsyncMq(Long uid, MultipartFile multipartFile, GenChartByAiRequest genChartByAiRequest);

    boolean deleteChart(Long uid, Long id);

    boolean updateChart(Long uid, ChartUpdateRequest chartUpdateRequest);

    Page<ChartVo> listChartByPage(ChartQueryRequest chartQueryRequest);

    Page<ChartVo> listMyChartByPage(Long uid, ChartQueryRequest chartQueryRequest);
}
